package org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.futbolista.habilidad;

import org.javahispano.javacup.modelo.ComandoIrA;
import org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.futbolista.Futbolista;
import org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.util.Balon;
import org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.util.PosicionBalon;
import org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.futbolista.habilidad.Habilidad;
import org.javahispano.javacup.tacticas_aceptadas.jcrosas.chuky.futbolista.FutbolistaBase;

/**
 * @author Joan Crosas
 *
 */
public class DefenderPorteria implements Habilidad {
	Futbolista futbolista;
	
	public DefenderPorteria( Futbolista futbolista ) {
		this.futbolista = futbolista;
	}

	@Override
	public boolean ejecutar() {
		Balon balon = futbolista.getVisionPartido().getBalon();
		if( futbolista.isPortero() && balon.getPosicionEnLineaFondo().isCasiGol() &&
				FutbolistaBase.POSICION_PORTERIA.distancia( balon.getPosicionBalon() ) < FutbolistaBase.DISTANCIA_DEFENSIVA_CRITICA ) {
			
			PosicionBalon posicionEnLineaFondo = balon.getPosicionEnLineaFondo();
			futbolista.getVisionPartido().addComando( new ComandoIrA( futbolista.getIndice(), posicionEnLineaFondo.toPosicion() ) );
		}
		return false;
	}

}
